description |
Most work in sensor networks tries to maximize network lifetime.
However, for many applications the required lifetime is known in
advance. Therefore, application quality should rather be maximized
for that given time. Levels, the approach presented in this article,
is a programming abstraction for energy-aware sensor network
applications that helps to meet a user-defined lifetime goal by
deactivating optional functionality. With this programming
abstraction, the application developer defines so-called energy
levels. Functionality in energy levels can be deactivated if the
required lifetime cannot be met otherwise. The runtime system uses
data about the energy consumption of different levels to compute an
optimal level assignment that maximizes each node's quality for
the time remaining. In addition, Levels includes a completely
distributed coordination algorithm that balances energy level
assignments and keeps the application quality of the network roughly
constant over time. In this approach, each node computes its
schedule based on those of its neighbors. As the evaluation shows,
applications using Levels can accurately meet given lifetime goals
with only small fluctuations in application quality. In addition,
the runtime overhead both for computation and for communication is
negligible.
|